home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Just Call Me Internet
/
Just Call Me Internet.iso
/
prog
/
atari
/
m2
/
cat3src
/
magic
/
d
/
mtmenus.d
< prev
next >
Wrap
Text File
|
1997-10-26
|
4KB
|
89 lines
(*----------------------------------------------------------------------*
* *
* MAGICTOOLS Modula's All purpose GEM Interface Cadre Toolbox *
* ÿ ÿ ÿ ÿ ÿ *
*----------------------------------------------------------------------*
* Version 3.30 02.02.1992 (C)90/91/92 by Peter Hellinger Software *
*----------------------------------------------------------------------*
* Dieses Modul ist urheberrechtlich geschtzt. *
* *
* Die Verffentlichung des Quelltextes oder Teilen daraus, sowie die *
* Verbreitung des bersetzten, nicht gelinkten Codes in schriftlicher, *
* oder maschinenlesbarer Form, insbesondere in Zeitschriften, Mail- *
* boxen oder anderen Medien bedarf der ausdrcklichen schriftlichen *
* Einverstndnisserklrung des Autors. *
* *
* Die Verbreitung des Moduls als Teil eines gelinkten Programms ist *
* fr Lizenznehmer ausdrcklich erlaubt! Der Autor behlt sich das *
* Recht vor, diese Erlaubnis jederzeit und ohne Angaben von Grnden zu *
* widerrufen. *
*----------------------------------------------------------------------*)
(*----------------------------------------------------------------------*
* mtMenus Manipulation der GEM-Menzeile. Verlegt die Menzeile *
* in die Infozeile eines Fensters. *
*----------------------------------------------------------------------*)
DEFINITION MODULE mtMenus;
FROM MagicSys IMPORT Nil, Null, Bit0, Bit1, Bit2, Bit3, Bit4, Bit5, Bit6,
Bit7, Bit8, Bit9, Bit10, Bit11, Bit12, Bit13, Bit14,
Bit15, LOC, Byte, ByteSet, sWORD, sINTEGER, sCARDINAL,
sBITSET, lINTEGER, lCARDINAL, lWORD, lBITSET;
IMPORT SYSTEM;
TYPE MENUBAR; (* Die Menu-Variable *)
PROCEDURE NewMenu (menu: SYSTEM.ADDRESS; VAR bar: MENUBAR): BOOLEAN;
(* Erzeugt eine neue Menu-Variable *)
PROCEDURE FreeMenu (VAR bar: MENUBAR);
(* gibt die Menu-Variable wieder frei. bar ist anschliesend undefiniert! *)
PROCEDURE DrawMenu (bar: MENUBAR; window: sINTEGER; VAR rect: ARRAY OF LOC);
(* Zeichnet das Menu in ein Fenster. Das Fenster MUSS eine Infozeile ent-
* halten! Retuniert ein Rechteck, welches Sie Ihrer Hauptevent-Routine
* bergeben (als MUM1-Rechteck oder MUM2-Rechteck, mit Modus EnterRect).
*
* DrawMenu mu bei jeder Venderung des Fensters (Gre, Position und Top-
* Window) aufgerufen werden, um jeweils die richtige Anzeige und das richtige
* Reaktionsrechteck zu erhalten.
*)
PROCEDURE HandleMenu (VAR menu, entry: sINTEGER);
(* Wenn ein Maus-Rechteck-Event (MUM1 oder MUM2) auftritt, sollten Sie zunchst
* prfen, ob dem oberstem Window ein MENUBAR zugeordnet ist. Anschlieend
* rufen Sie die Prozedur HandleMenu auf, die das Menu-Managment bernimmt.
* Die Prozedur retouniert das selektierte Men und den selektierten Eintrag,
* bzw. in beiden Werten -1, wenn der Benutzer das Men abgebrochen hat.
*
* Sobald ein Dropdown-Men auf dem Bildschirm zu sehen ist, knnen Sie die
* Eintrge in gewohnter Weise mit der Maus selektieren. Sie knnen aber auch
* per Tastatur anwhlen:
*
* RETURN oder ENTER selektiern einen Eintrag; mit den Cursor-Hoch/Runter-
* Tasten whlen Sie einen Eintrag aus; UNDO bricht das Menab.
*)
TYPE Config = (click, drop, pull);
PROCEDURE ConfigMenu (conf: Config);
(* ConfigMenu erlaubt die Konfiguration des Mens:
*
* click = Das Men mu angeklickt werden, um zu erscheinen.
* Das ist der Default-Zustand.
*
* drop = Das Men erscheint sobald der Mauszeiger innerhalb
* des Mentitels ist. Dies entspricht dem Vorgehen des AES.
*
* pull = Das Men mu angeklickt und die Maustaste festgehalten werden,
* bis ein Eintrag selektiert, oder das Men abgebrochen wurde.
*)
END mtMenus.